Kernel裡面的這個信號(signal)功能,主要是針對軟體的部分,軟體如果在處理過程中發生中斷的問題,此是就可以利用信號的方式,把正常的處理方式,轉移到非同步處理的方式,避免因為中斷而讓系統無法執行。
一樣的,信號有信號控制塊在控制的,主要是控制信號是否要忽略、暫停、處理或凍結。不管怎樣,其實信號因為是非同步處理的方式,所以任務當中接受到信號的時候,有時也一樣充滿不確定的狀態,所以一般即時系統其實不太能夠接受以信號的方式來傳遞。此外,任務其實是沒辦法去判定信號是不是已經傳達過了,可能傳遞很多次信號,結果任務一次都沒收到,這種情形,也就加深了信號其實是相當不穩定的。
但其實信號還是有它的優點在,如前面所說的,也就是當軟體出問題之時,他還是可以避免整個系統當機,所以要用或者不用信號,還是取決於個人需求,沒有一定的限制。
寫到這邊,也大概介紹了Kernel提供的一些其他物件功能,當然內核功能還有其他的功能,筆者大概就介紹這幾種給大家認識,這些觀念都是邏輯上很基礎的觀念,這也是筆者目前學習上組合語言(嵌入式語法)的重點。